#include <match.h> Использует либо <match.h>,
#include <stdlib.h> либо <stdlib.h>.
double atof (string); преобразует строку string в double
char *string строка, подлежащая преобразованию
int atoi (string) преобразует строку string в int
long atol (string) преобразует строку string в long
char *string строка, подлежащая преобразованию
Описание.
Эти функции преобразуют символьную строку в значение с плавающей точкой двойной точности (atof), в целое значение (atoi) или в длинное целое значение (atol).
Исходная строка string представляет собой последовательность символов, которые могут быть интерпретированы как числовое значение определенного типа.
Функция прекращает чтение исходной строки как только появится первый символ, который не может быть воспринят как часть числа (им может быть NULL-символ, завершающий строку).
Функция atof предполагает, что строка string имеет следующую форму:
[whitespace][sign][digits][{d|D|E}[sign]digits]
где [whitespase] состоит из пробелов и/или знаков табуляции, которые игнорируются; [sign] означает "+" или "-"; [digits]
- одна или несколько десятичных цифр. Если перед десятичной точкой нет цифр, то хотя бы одна цифра должна стоять после нее. Десятичные цифры могут следовать за показателем степени, который состоит из буквы (d,D,e или E) и десятичного целого со знаком.
Функции atoi и atol не обрабатывают десятичные точки или показатели степени. Аргумент string для этих функций имеет вид:
[whitespace][sign]digits
где whitespace, sign, digits обозначают то же, что и для atof.
Возвращаемое значение.
Каждая из функций возвращает значение типа double, int или long, получаемое в результате интерпретации входных символов как чисел.
Возвращаемое значение равно 0 (0L для atol), если вход не может быть преобразован в значение данного типа. Возвращаемое значение не определено в случае переполнения.
Пример:
Следующие примеры показывают, как числа, записанные в виде строк, могут быть преобразованы в числовые значения при использовании функций atof, atoi, atol:
#include <math.h>
extern long atol (\ );
main (\ )
{
char *s;
double x;
int i;
long l;
s=" -2309.12E-15";
x=atof(s);
printf("%e\t",x);
s="7.8912654773d210";
x=atof(s);
printf("%e\t",x);
s="-9885";
i=atoi(s);
printf("%d\t",i);
s="98854 dollars";
l=atol(s);
printf("%ld\n",l);
}